package com.wengu.game;

import org.junit.jupiter.api.Test;

import java.util.Scanner;

/**
 * 上台阶游戏
 * @author wanghailei
 * @date 2023/01/03
 */
public class GameCalWaysOfUpStep {

    public static void main(String[] args) {
        GameCalWaysOfUpStep gameCalWaysOfUpStep = new GameCalWaysOfUpStep();
        System.out.println("==============欢迎来到上台阶游戏！================");
        System.out.println("=============================================");
        System.out.println("===================游戏规则===================");
        System.out.println("每次只能上一阶台阶，或者两阶台阶，上到指定的台阶数，有几种方式");
        Scanner input = new Scanner(System.in);
        while (true){
            System.out.println("请输入台阶个数(退出请输入0)：");
            int number = input.nextInt();
            if (0 == number){
                System.out.println("game over");
                break;
            }
            if (number <= 0){
                System.out.println("请输入正数");
            } else {
                System.out.println("上台阶方式有["+ gameCalWaysOfUpStep.calTest1(number)+"]种");
            }
            System.out.println("==========================================");
            System.out.println("==========================================");
        }



    }

    /**
     * 上台阶游戏
     */
    @Test
    public void test1(){
        System.out.println("==============欢迎来到台阶游戏！=================");
        System.out.println("=============================================");
        System.out.println("===================游戏规则===================");
        System.out.println("每次只能上一阶台阶，或者两阶台阶，上到指定的台阶数，有几种方式");
        Scanner input = new Scanner(System.in);
        while (true){
            System.out.println("请输入台阶个数(退出请输入0)：");
            int number = input.nextInt();
            if (0 == number){
                break;
            }
            if (number <= 0){
                System.out.println("请输入正数");
            }
            System.out.println("上台阶方式有["+calTest1(number)+"]种");
            System.out.println("==========================================");
            System.out.println("==========================================");
        }


    }

    public int calTest1(int i){
        if (i == 1){
            return 1;
        }
        else if (i == 2){
            return 2;
        }
        else {
            return calTest1(i-1)+calTest1(i-2);
        }
    }
}
